package com.ruoyi.user.mapper;

import com.ruoyi.user.domain.MerchantProduct;
import com.ruoyi.user.domain.vo.ProductDetails;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface UserProductMapper {

    /*
    * 根据商家id获取所有的分类名
    * */
    List<String> selectProductsCategoryNameByMerchantId(@Param("merchantId") Long merchantId);
    /**
     * 根据商家ID查询菜品/商品列表
     */
    List<MerchantProduct> selectProductsByMerchantId(@Param("merchantId") Long merchantId);

    /**
     * 根据商家ID与分类ID查询菜品/商品列表
     */
    List<ProductDetails> selectProductsByMerchantIdAndCategoryId(@Param("merchantId") String merchantId,
                                                                  @Param("categoryId") String categoryId);

    /**
     * 根据 productId 查询单个菜品/商品（详情基准）
     */
    MerchantProduct selectProductById(@Param("productId") String productId);

    /**
     * 根据商家ID查询口味/规格选项（启用、未删除）
     */
    List<ProductDetails> selectTastesByMerchantId(@Param("merchantId") String merchantId);

    /**
     * 根据商家ID查询所有分类名（启用、未删除）
     */
    List<String> selectCategoryNamesByMerchantId(@Param("merchantId") String merchantId);

    com.ruoyi.user.domain.vo.ProductBriefVO selectProductBriefById(@Param("productId") Long productId);
    java.util.List<com.ruoyi.user.domain.vo.ProductSpecGroupVO> selectSpecGroupsByProductId(@Param("productId") Long productId);
    java.util.List<com.ruoyi.user.domain.vo.ProductSpecDetailVO> selectSpecDetailsByProductId(@Param("productId") Long productId);

}
